package net.maku.module.train.vo;

import com.fhs.core.trans.anno.Trans;
import com.fhs.core.trans.constant.TransType;
import com.fhs.core.trans.vo.TransPojo;
import io.swagger.v3.oas.annotations.media.Schema;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;

import java.io.Serializable;

import net.maku.framework.common.utils.DateUtils;
import net.maku.framework.common.utils.TreeNode;
import net.maku.module.business.entity.DictionariesSubsetEntity;

import java.util.Date;

/**
 * 业务_课程
 *
 * @author
 */
@Data
@Schema(description = "业务_课程")
public class CourseVO implements Serializable, TransPojo {
    private static final long serialVersionUID = 1L;

    @JsonFormat(pattern = DateUtils.DATE_TIME_PATTERN)
    @Schema(description = "主键")
    private Long id;

    @Schema(description = "创建人")
    private Long creator;

    @Schema(description = "创建时间")
    @JsonFormat(pattern = DateUtils.DATE_TIME_PATTERN)
    private Date createTime;

    @Schema(description = "更新人")
    private Long updater;

    @Schema(description = "更新时间")
    @JsonFormat(pattern = DateUtils.DATE_TIME_PATTERN)
    private Date updateTime;

    @Schema(description = "版本")
    private Integer version;

    @Schema(description = "删除标识")
    private Integer deleted;

    @Schema(description = "名称")
    private String name;

    @JsonFormat(pattern = DateUtils.DATE_TIME_PATTERN)
    @Trans(type = TransType.SIMPLE, target = DictionariesSubsetEntity.class, fields = {"name"}, refs = {"coursTypeName"})
    @Schema(description = "课程类型")
    private Long coursTypeId;
    private String coursTypeName;

    @Schema(description = "封面")
    private String imgUrl;

    @JsonFormat(pattern = DateUtils.DATE_TIME_PATTERN)
    @Trans(type = TransType.SIMPLE, target = DictionariesSubsetEntity.class, fields = {"name"}, refs = {"typeName"})
    @Schema(description = "课程分类")
    private Long typeId;
    private String typeName;

    @Schema(description = "视频")
    private String videoUrl;

    @Schema(description = "简介")
    private String description;

    @Schema(description = "备注")
    private String remark;

    @Schema(description = "资料")
    private String fileUrl;

    @Schema(description = "是否定时")
    private String isTiming;

    @Schema(description = "定时时间")
    @JsonFormat(pattern = DateUtils.DATE_TIME_PATTERN)
    private Date timingDate;

    @Schema(description = "是否全员")
    private String isAll;

}